package com.java.service;

import com.java.model.*;

import javax.servlet.http.HttpServletRequest;
import java.util.List;
import java.util.concurrent.ExecutionException;

public interface MediaAccountService extends BaseService<MediaAccount>{

    /**
     * 短信验证
     * @param phoneNum
     * @return
     */
    Result message(String phoneNum);

//    /**
//     * 头像上传
//     * @param headImg
//     * @return
//     */
//    Result upload(String headImg);


    /**
     * 自媒体登录
     * @param mediaAccount
     */
    Result advertisingLogin(MediaAccount mediaAccount, HttpServletRequest request);

    /**
     * 首页资源
     * @param mediaAccount
     * @return
     */
    Result resource(MediaAccount mediaAccount);

    /**
     * 首页资源管理页面查询
     * @param mediaAccount
     * @return
     */
    Result resourceList(MediaAccount mediaAccount);

    /**
     * 取消首页推荐
     * @param ids
     * @return
     */
    Result resourceRemove(int[] ids);

    /**
     * 微信
     * @param mediaAccount
     * @return
     */
    Result resourceList2(MediaAccount mediaAccount);

    /**
     * 微博
     * @param mediaAccount
     * @return
     */
    Result resourceList3(MediaAccount mediaAccount);

    /**
     * 抖音短视频
     * @param mediaAccount
     * @return
     */
    Result resourceList4(MediaAccount mediaAccount);

    /**
     * 快手短视频
     * @param mediaAccount
     * @return
     */
    Result resourceList5(MediaAccount mediaAccount);

    /**
     * 自媒体信息
     * @return
     */
    List<MediaAccount> saveList();

    List<MediaAccount> toList();

    List<MediaAccount> listByLoginId(int login);

    /**
     * 根据账号查询自媒体信息
     * @param mediaAccount
     * @return
     */
    List<MediaAccount> searchList(MediaAccount mediaAccount);


    /**
     * 自媒体资料修改
     * @param mediaAccount
     */
    Result modification(MediaAccount mediaAccount);

    /**
     * 管理员同意自媒体入驻
     * @param mediaAccount
     */
    Result agree(MediaAccount mediaAccount);

    /**
     * 管理员拒绝自媒体入驻
     * @param mediaAccount
     */
    Result refused(MediaAccount mediaAccount);

    /**
     * 根据id查询自媒体价格表
     * @param id
     * @return
     */
    Result priceId(int id);

    /**
     * 修改自媒体价格表
     * @param price
     * @return
     */
    Result priceUpdate(Price price);

    /**
     * 新增自媒体价格表
     * @param price
     * @return
     */
    Result priceSave(Price price);

    /**
     * 修改自媒体密码
     * @param mediaAccount
     * @return
     */
    Result passwordSave(MediaAccount mediaAccount);
}
